The rate at which data can be transferred between network nodes using conventional methods can be limited by a number of factors. In order to limit network congestion and to ensure reliable transfers, a first node may be permitted to transmit only a limited amount of data before an acknowledgement message (ACK) is received from a second, receiving, node. Once an ACK message has been received by the first node, a second limited amount of data can be transmitted to the second node.
In Transmission Control Protocol/Internet Protocol (TCP/IP) systems, that limited amount of data relates to the amount of data that can be stored in a receive buffer of the second node and is referred to as a TCP/IP “receive window”.
In conventional systems, the size of the TCP/IP receive window may be allowed to grow (the value may be allowed to increase) to take account of the round-trip time between the first and second nodes and the available bandwidth. The size of the TCP/IP window can influence the efficiency of the data transfer between the first and second nodes because the first node may close the connection to the second node if the ACK message does not arrive within a predetermined period (the timeout period). Therefore, if the TCP/IP window is relatively large, the connection may be “timed out”. Moreover, the amount of data may exceed the size of the receive buffer, causing error-recovery problems. However, if the TCP/IP window is relatively small, all of the available bandwidth might not be utilised effectively. Furthermore, the second node will be required to send a greater number of ACK messages, thereby increasing network traffic. In such a system, the data transfer rate is also determined by time required for an acknowledgement of a transmitted data packet to be received at the first node. In other words, the data transfer rate depends upon the round-trip time between the first and second nodes and the value of the receive window size parameter for the connection. As the distance increases between the first and second nodes, the round trip time also increases. This further reduces network efficiency. In many discussions regarding TCP/IP the phrase Round Trip Time and latency are used to denote the same thing and are interchangeable.
The above shortcomings may be particularly significant in applications where a considerable amount of data is to be transferred. For instance, the data stored on a Storage Area Network (SAN) may be backed up at a remote storage facility, such as a remote disk or tape library located within another Storage Area Network (SAN). In order to minimise the chances of both the locally stored data and the remote stored data being lost simultaneously, the storage facility should be located at a considerable distance. In order to achieve this, the back-up data must be transmitted across a network to the remote storage facility. However, this transmission is subject to a limited data transfer rate. SANs often utilise Fibre Channel (FC) technology, which can support relatively high speed data transfer. However, the Fibre Channel Protocol (FCP) cannot normally be used over distances greater than 10 km, although a conversion to TCP/IP traffic can be employed to extend the distance limitation but is subject to the performance considerations described above. In the above example of data being transmitted between one SAN and another, the data flow is one storage related command followed another storage related command in a “single data stream”. In a conventional data transmission appliance connected to a TCP/IP network we there is latency of a few milliseconds or more, the performance can drop to just a few percent of the maximum potential network path performance.